﻿var tab, dataStr, $, layer, form, common, laydate;
layui.config({
    base: "/js/modules/"
}).extend({
    "bodyTab": "bodyTab",
    "listView": "listView",
    "common": "common",
    "formSelects": "formSelects-v3"
})
layui.use(['bodyTab', 'form', 'element', 'layer', 'jquery'], function () {
    $ = layui.$;
    form = layui.form;
    common = layui.common;
    // layer = parent.layer === undefined ? layui.layer : top.layer;
    laydate = layui.laydate;
    layer = layui.layer;
    tab = layui.bodyTab({
        openTabNum: "50",  //最大可打开窗口数量
        url: "../json/navs.json" //获取菜单json地址
    });

    //通过顶部菜单获取左侧二三级菜单   注：此处只做演示之用，实际开发中通过接口传参的方式获取导航数据
    function getData(json) {
        $.getJSON(tab.tabConfig.url, function (data) {
            dataStr = data[json];
            //重新渲染左侧菜单
            tab.render();
        })
    }

    //页面加载时判断左侧菜单是否显示
    //通过顶部菜单获取左侧菜单
    $(".topLevelMenus li").click(function () {
        $(".topLevelMenus li").eq($(this).index()).addClass("layui-this").siblings().removeClass("layui-this");
        $(".layui-layout-admin").removeClass("showMenu");
        $("body").addClass("site-mobile");
        getData($(this).data("menu"));
        //渲染顶部窗口
        tab.tabMove();
    })

    //隐藏左侧导航
    $(".hideMenu").click(function () {
        if ($(".topLevelMenus li.layui-this a").data("url")) {
            layer.msg("此栏目状态下左侧菜单不可展开");  //主要为了避免左侧显示的内容与顶部菜单不匹配
            return false;
        }
        $(".layui-layout-admin").toggleClass("showMenu");
        //渲染顶部窗口
        tab.tabMove();
    })

    //通过顶部菜单获取左侧二三级菜单   注：此处只做演示之用，实际开发中通过接口传参的方式获取导航数据
    //getData("Console");
    getData($(".topLevelMenus li").data("menu"));

    // 添加新窗口
    $("body").on("click", ".layui-nav .layui-nav-item a:not('.mobileTopLevelMenus .layui-nav-item a')", function () {
        //如果不存在子级
        if ($(this).siblings().length == 0) {
            addTab($(this));
        }
        $(this).parent("li").siblings().removeClass("layui-nav-itemed");
    })

    //tab左移
    $(".layui-tab-left").on("click", function () {
        var _left = $(".layui-tab-title").css("left");
        _left = parseInt(_left.substr(0, _left.length - 2));
        var _lis = $(".layui-tab-title").find("li");
        var n = 0;
        for (let i = 0; i < _lis.length; i++) {
            n += $(_lis[i]).width() + 15;
        }
        var abs = Math.abs(_left);
        //获取右侧区域宽度
        var _width = $(".layui-body").width();
        if (n - abs < _width) {
            layer.msg("拽不动了");
        } else {
            $(".layui-tab-title").css("left", _left - 100);
        }
    });
    //tab右移
    $(".layui-tab-right").on("click", function () {
        var _left = $(".layui-tab-title").css("left");
        _left = parseInt(_left.substr(0, _left.length - 2));
        if (_left < 0) {
            $(".layui-tab-title").css("left", _left + 100);
        } else {
            layer.msg("拽不动了");
            // $(".layui-tab-title").css("left", 20);
        }
    });

})

//打开新窗口
function addTab(_this) {
    tab.tabAdd(_this);
}

